﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Bussiness;

namespace WebApplication.Admin
{
    public partial class NhanVienAdd : System.Web.UI.Page
    {
        IUnitOfWork iunitofwork = new EFUnitOfWork();
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                LoadBophan();
                LoadHienThi();
            }
        }
        /// <summary>
        /// Chi tiết sửa xóa
        /// </summary>
        public void LoadHienThi()
        {
            string strid = "" + Request["MANV"];

           
            NHANVIENRepository repository = new NHANVIENRepository(new EFRepository<NHANVIEN>(), iunitofwork);
            NHANVIEN objNhanVien;
            if (!string.IsNullOrEmpty(strid.Trim()))
            {
                objNhanVien = repository.GetById(strid);
                txtmanv.Value = objNhanVien.MANV;
                txttennv.Value = objNhanVien.TENNV;
                txtchucvu.Value = objNhanVien.CHUCVU;
                txtsocmt.Value = objNhanVien.SCMND;
                datepicker.Value = objNhanVien.NGAYSINH.ToString();
                txtsdt.Value = objNhanVien.SDT;
                Dlbophan.SelectedValue = objNhanVien.BOPHAN.MABP;
                txttendn.Value = objNhanVien.USERNAME;
                
                if (objNhanVien.TINHTRANG == true)
                {
                    rdhd.Checked = true;
                }
                else
                {
                    rdkohd.Checked = true;
                }
                
            }

        }
        /// <summary>
        /// Load bộ phận
        /// </summary>
        public void LoadBophan()
        {
            BOPHANRepository repository = new BOPHANRepository(new EFRepository<BOPHAN>(), iunitofwork);
            IQueryable<BOPHAN> objBoPhan = repository.All();
            Dlbophan.DataSource = objBoPhan;
            Dlbophan.DataValueField = "MABP";
            Dlbophan.DataTextField = "TENBOPHAN";
            Dlbophan.DataBind();
            Dlbophan.Items.Insert(0, new ListItem { Text = "--Chọn bộ phận---", Value = "0" });
        }
        /// <summary>
        /// Thêm mới, sửa
        /// </summary>
        public void CapNhap()
        {
         string strid = "" + Request["MANV"];
         bool iscapnhap = true;
         NHANVIENRepository reposirory = new NHANVIENRepository(new EFRepository<NHANVIEN>(), iunitofwork);
         NHANVIEN objNhanvien = null;
        
             if (!string.IsNullOrEmpty(strid.Trim()))
             {
                 iscapnhap = false;
                 objNhanvien = reposirory.GetById(strid);
             }
             else
             {
                 iscapnhap = true;
                 objNhanvien = new NHANVIEN();
             }
             if (string.IsNullOrEmpty(txtmanv.Value) || Dlbophan.SelectedValue.Equals("0") || string.IsNullOrEmpty(datepicker.Value) || string.IsNullOrEmpty(txttendn.Value)||string.IsNullOrEmpty(txtpass.Value))
             {
                 RegisterClientScriptBlock("Thông báo", "<script> alert('Vui lòng nhập đầy đủ')</script>");
                 return;
             }
             objNhanvien.MANV = txtmanv.Value;
             objNhanvien.TENNV = txttennv.Value;
             objNhanvien.USERNAME = txttendn.Value;
             objNhanvien.MABP = Dlbophan.SelectedValue;
             objNhanvien.CHUCVU = txtchucvu.Value;
             objNhanvien.DIACHI = txtdiachi.Value;
             objNhanvien.SDT = txtsdt.Value;
             objNhanvien.SCMND = txtsocmt.Value;
             objNhanvien.PASSWORD = txtpass.Value;
             objNhanvien.NGAYSINH = DateTime.Parse(datepicker.Value);
            try
            {
             if (iscapnhap)
             {
                 reposirory.Add(objNhanvien);
             }
             reposirory.Save();
         }
         catch (Exception ex)
         {
             RegisterClientScriptBlock("Thông báo", "<script> alert('lối rồi nhập lại')</script>");
             Response.Redirect("NhanVienAdd.aspx");
         }
        }

        protected void lbtncapnhap_Click(object sender, EventArgs e)
        {
            CapNhap();
        }

        protected void lbtnthemmoi_Click(object sender, EventArgs e)
        {
            
            txtmanv.Value = "";
            txttendn.Value = "";
            txtdiachi.Value = "";
            txtchucvu.Value = "";
            txtsdt.Value = "";
            txtsocmt.Value = "";
            txttendn.Value = "";
            Dlbophan.SelectedValue = "0";
            Response.Redirect("NhanVienAdd.aspx");
           
        }
        protected void lbtnphanquyen_Click(object sender, EventArgs e)
        {
            Response.Redirect("PhanQuyen.aspx?MANV=" + txtmanv.Value);
        }
    

    }
}